package com.pc.admin.dto;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.pc.admin.eunms.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;


@Data
public class CelebritySaveDto {

    @ApiModelProperty(value = "红人id")
    @TableId(value = "id")
    private Integer id;

    @ApiModelProperty(value = "tiktok ID")
    private String tkId;

    @ApiModelProperty(value = "趋势")
    private List<TendencyDTO>  tendency;

    @ApiModelProperty(value = "昵称")
    private String nickname;

    @ApiModelProperty(value = "真实姓名")
    private String username;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "简介")
    private String introduction;

    @ApiModelProperty(value = "国家")
    private String country;

    @ApiModelProperty(value = "性别：MALE-男、FEMALE-女")
    private Gender gender;

    @ApiModelProperty(value = "带货方式 LIVE-直播带货、VIDEO-视频带货、NONE-无")
    private SalesType salesType;

    @ApiModelProperty(value = "来源 ：NEW-新增tk红人 、RECYCLE-tk红人回收")
    private CelebritySource source;

    @ApiModelProperty(value = "粉丝数")
    private Integer followerNum;

    @ApiModelProperty(value = "点赞数")
    private Integer likeNum;

    @ApiModelProperty(value = "总视频数")
    private Integer videoNum;

    @ApiModelProperty(value = "带货商品总数")
    private Integer productNum;

    @ApiModelProperty(value = "带货总销量")
    private Integer productSalesNum;

    @ApiModelProperty(value = "带货总GMV")
    private BigDecimal productSalesGmv;

    @ApiModelProperty(value = "近30天GMV")
    private BigDecimal lastThirdDaySaleGmv;

    @ApiModelProperty(value = "近30天带货销量")
    private Integer lastThirdProductSaleNum;

    @ApiModelProperty(value = "平均视频播放量")
    private Integer videoAveragePlayNum;

    @ApiModelProperty(value = "平均视频点赞量")
    private Integer videoAverageLikeNum;

    @ApiModelProperty(value = "平均视频互动率")
    private Float videoAverageInteractionRate;

    @ApiModelProperty(value = "平均视频评论量")
    private Integer videoAverageCommentNum;

    @ApiModelProperty(value = "平均直播播放量")
    private Integer liveAvaragePlayNum;

    @ApiModelProperty(value = "平均直播点赞量")
    private Integer liveAverageLikeNum;

    @ApiModelProperty(value = "平均直播评论量")
    private Integer liveAverageCommentNum;

    @ApiModelProperty(value = "分配数量")
    private Integer assignNum;

    @ApiModelProperty(value = "最新分配时间")
    private LocalDateTime assignTime;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;


    @ApiModelProperty(value = "whatsapp")
    private String whatsapp;

    @ApiModelProperty(value = "facebook")
    private String facebook;

    @ApiModelProperty(value = "ins")
    private String ins;

    @ApiModelProperty(value = "youtube")
    private String youtube;

    @ApiModelProperty(value = "销售人员Id")
    private Integer salesManId;

    @ApiModelProperty(value = "视频GPM")
    private String videoGpm;

    @ApiModelProperty(value = "带货直播场次")
    private Integer liveNum;

    @ApiModelProperty(value = "直播GPM")
    private String liveGpm;

    @ApiModelProperty(value = "合作状态：NOT-未合作、ALREADY-已合作、REFUSE-拒绝合作、END-终止合作")
    private CooperationStatus cooperationStatus;

    @ApiModelProperty(value = "红人阶段 UN_PORCESS 未处理、 UN_ASSIGN 待分配、UN_INVITATION 待邀约、INVITATIOING 邀约处理中、" +
            "UN_REPLY 已触达待回复、 UN_COOPERATE 合作洽谈中、" +
            "   UN_DELIVER 已合作待寄样、UN_PRODUCT_PUBLISH  已收获待发布、PRODUCT_PUBLISHED 已发布内容、ORDERED 已出单")
    private PhaseType phaseType;

    @ApiModelProperty(value = "异常类型  UN_COOPERATE 暂不合作   LOW_QUALITY质量差  、BLACK 黑名单  NORMAL 正常")
    private UnusualEnum unusualType;

    @ApiModelProperty("异常原因")
    private String unusualReason;

    @ApiModelProperty("异常备注")
    private String unusualRemark;

    @ApiModelProperty("linktree")
    private String linktree;

    @ApiModelProperty("男性比例")
    private String maleRate;

    @ApiModelProperty("女性比例")
    private String femaleRate;

    @ApiModelProperty("最大性别比例： MALE-男性, FAMALE-女性")
    private Gender maxSixRate;

    @ApiModelProperty("年龄分布比例-18-24")
    private String ageFirstDistributed;

    @ApiModelProperty("年龄分布比例-25-34")
    private String ageSecondDistributed;

    @ApiModelProperty("年龄分布比例-35+")
    private String ageThirdDistributed;

    @ApiModelProperty("最大年龄比例：ONE-18-24、SECOND-25-34、THIRD-35+")
    private MaxAgeDistributed maxAgeDistributed;

    @ApiModelProperty("爬虫tiktok更新时间")
    private LocalDateTime crawlerTiktokUpdateTime;

    @ApiModelProperty("最后联系时间")
    private LocalDate lastConnectTime;

    @ApiModelProperty("合作时间")
    private LocalDateTime cooperationTime;

    @ApiModelProperty("邮箱是否已经发送成功")
    private Boolean emailSuccessStatus;

    @ApiModelProperty("邮箱发送成功后，是否允许更新")
    private Boolean emailUpdateStatus;



    @ApiModelProperty("数据状态：0是导入，1是爬取")
    private Integer dataState;

//
//    @ApiModelProperty(value = "近30天带货收入")
//    private Integer lastThirdSalesIncome;
//
//    @ApiModelProperty(value = "近30天发布的视频数量")
//    private Integer lastThirdVideoSum;
//
//    @ApiModelProperty(value = "近30天直播数量")
//    private Integer lastThirdLiveSum;
//
//    @ApiModelProperty(value = "红人分类")
//    private String majorCategory;
//
//    @ApiModelProperty(value = "趋势")
//    private String tendency;
//
//    @ApiModelProperty(value = "合作产品数")
//    private Integer cooperationProductNum;





}
